package com.example.design.dahua.strategy.new2simplefactorycash;

/**
 * @author ebnew
 * 现金收费工厂类
 */
public class CashFactory {

    /**
     * 现金收费工厂，根据传入的值返回响应的实例
     * 如果增加新的打折方式，需要增加一个case增加一个实现类
     * @param type
     * @return
     */
    public static AbstractCash createAcceptCash(String type){
        AbstractCash ac;
        switch (type) {
            case "正常收费":
                ac=new CashNormal();
                break;
            case "打8折":
                ac=new CashRebate(0.8);
                break;
            case "满300减100":
                ac=new CashReturn(300,100);
                break;
            default:
                throw new RuntimeException("打折方式错误");
        }
        return ac;
    }
}
